LtU Forum, Site Discussion

Best route for new language to be self-hosting


Does any particular language stand out above the crowd to be a host in which to develop general purpose languages?


I am interested because of the development of Perl6 using Haskell as a host by Autrijus (See pugs.) I expect that any of OCaml, Haskell, Scheme or Lisp would be better than using C <grin> to develop a host, but is one of those (or something else entirely) likely to be significantly better than anything else?


I expect that a good host language:

  • Has an active, friendly community.
  • Is super productive (for a skilled developer who has experience in host language).
  • Has good libraries. Especially language related libraries for say parser generators. Possibly part of language.
  • Is fast enough. Self-hosting may come after the initial childhood and growing pains of new language, so nice if the host language can be used for some time.
  • Is relatively stable. (Not hot off the press, not one-man-band, time spent learning it is usable in future, unlikely to be a pure research language)
  • Is mostly learnable in a few months by a bright developer (Hopefully that is me! My work has always been with imperative languages, but I am certain I can be quickly seduced by functional programming...).
  • Is open source (No vendor lock-in, ability to share with other developers).

I hope this is the perfect forum to get an answer to this personally vexing question!


Morris


PS: For those that wonder at the need for self-hosting (rather than just keep another language under the hood):

  • I think that to build a community of developers for any new language wants ownership of ‘their language’ that is ‘better than other languages’. You can’t have that without self-hosting (note: C is great as a host, but not great for prototyping!).
  • Reduce dependencies

PPS: I do think the world needs another language! Of course I am preaching to the converted here.

GADTs + Extensible Kinds = Dependent Programming

Tim Sheard claims that usual functional programming methods (plus two new features found in his new programming language Ωmega) take care of some of the needs dependent types are often thrown at.

Existential Types == Guarded Types

In the GHC Users' Guide:
Notice that GADTs generalise existential types.

And Martin Sulzmann gives us A Systematic Translation of Guarded Recursive Data Types to Existential Types

Let's make a programming language!

Since LtU members are so knowledgable on programming languages, why don't we design the (ultimate) programming language? let's all post our suggestions here to make a lean-and-mean programming language. It would be a experiment filled with fun. I can make the compiler, if a 'standard' comes out of this. I apologise if this has been proposed before (and obviously failed, since there is nothing out).

My initial suggestions are two:

1) put as less as possible into the compiler. Make the language so versatile that all high-level concepts can be easily done with the core constructs.

2) the lowest level of the language should map directly to the hardware, i.e. must be some kind of assembly, in order to allow for very low-level programming. But the language should be versatile enough as to provide the means for doing layers upon layers of abstraction, so one chooses the appropriate level of abstraction for each particular type of application.

Call for Papers: ACM Symposium on Dynamic Languages

ACM Symposium on Dynamic Languages
October 18, 2005, San Diego, California
(co-located with OOPSLA'05)
URL: http://decomp.ulb.ac.be:8082/events/dls05/

Currently, the dynamic language community is fragmented, split over a multitude of paradigms (from functional over logic to object-oriented), languages and syntaxes. This fragmentation severely hinders research as well as acceptance, and results in either language wars or, even worse, language ignorance. The goal of this symposium is to provide a highly visible, international forum for researchers working on dynamic features and languages. We explicitly invite submissions from all kinds of paradigms (object-oriented, functional, logic, ...), as can be seen from the structure of the program committee.

DLS'05 invites the submission of technical papers presenting research results or experience in all areas related to dynamic languages or dynamic language concepts. Research papers should describe work that advances the current state of the art. Experience reports should be of broad interest and should describe insights gained from the practical application of dynamic languages that are of use to other researchers and practitioners. The program committee will evaluate each contributed research and experience paper based on its relevance, significance, clarity, originality, and correctness.

Areas of interests include, but are not limited to:
-closures
-delegation
-actors, active objects
-constraint systems
-mixins and traits
-reflection and meta-programming
-aspect-oriented programming in dynamic environments
-language symbiosis and multi-paradigm languages
-experience reports on successful application of dynamic languages

Papers will be published in the ACM Digital Library.

More information (submission guidelines, dates, program committee) can be found on http://decomp.ulb.ac.be:8082/events/dls05/

What makes Centum a bad language?

Centum is a basically functional language with some object oriented features. While I and a few other people enjoy the language it has not had any real momentum in terms of building a community. For example I thought that Centum might appeal to some of the people who liked LISP, since they share some ideas. One explanation that has occurred to me is that the language has obvious flaws (besides the initial implementation being on Windows). However I have not received any feedback as to what makes this language uninteresting/unwanted. Hopefully you kind folks can help me out a bit.

The long tail of programming languages

Charles Simonyi's Intentional Software blog has an interesting piece by Magnus Christerson, on what he calls the long tail of programming languages. It seems that (not surprisingly) programming languages exhibit the same power law popularity distribution that has been observed in so many other areas. Christerson's entry devolves into more of a marketing spiel for Intentional's products by the end, but he makes some interesting observations on niche and domain-specific languages along the way. If nothing else, the plot of programming language popularity ranking is interesting (although I find it a little hard to believe that more people program in Postscript than in Ocaml).

From Perl Monks: "pissed off about functional programming"

On Perl Monks the most highly rated node (discussion topic) for the month is pissed off about functional programming in which the node's author "vents" about functional programming, focusing on four functional-programming "myths." I found it somewhat confus(ed|ing), but it's worth a read, if only to see an unusual perspective on FP's pros and cons.

R6RS Scheme Status Report

The R6RS committee has released a new status report. They've ratified a number of small additions (square brackets, multiline comments) and made progress on several fronts (Unicode support, exception handling). Unsurprisingly, the module system is still the trickiest issue.

(LtU discussion of the previous status report)

Memory fault and segmentation faults

Hai i have got memory fault error while executing my code and immidietly another statemnet saying coredump. Can anyone tell me what is the meaning of this error and what are the what may be the origin of this.

XML feed